#include <iostream>
#include <unistd.h>
#include <signal.h>
using namespace std;

void EXIT(int sig)
{
	cout << "收到了信号：" << sig  << endl;
	cout << "正在释放资源，程序将退出......" << endl;

	// 以下是释放资源的代码
	
	cout  << "程序退出！" << endl;
	exit(0);
}


int main(int argc, char* argv[])
{
	//注意信号9是无法被捕获、忽略的！！
	
	// 忽略全部信号，防止程序被信号异常终止
	for(int i=1; i<=64;i++){
		signal(i, SIG_IGN);
	}

	// 如果收到2和15的信号（Ctrl+c和kill、killall），本程序将主动退出。
	signal(2, EXIT);
	signal(15, EXIT);

	while(true){
		cout << "正在执行一个任务！" << endl;
		sleep(1);
	}
}
